// pages/message/message.js
import dayjs from 'dayjs';
const relativeTime = require('dayjs/plugin/relativeTime')
import 'dayjs/locale/zh-cn.js';
dayjs.extend(relativeTime); // 相对时间  
dayjs.locale('zh-cn'); // 使用本地化语言     
getApp().authPage.basePage({
  /** 
   * 页面的初始数据
   */
  data: {
    active: 0,
    list1: [],
    list2: [],
    formData: {
      "current": 1,
      "size": 10
    },
    tabList: [{
      label: "沟通请求",
      value: 0
    }, {
      label: "官方公告",
      value: 1
    }],
    open: [],
  },
  getLastTimeStr(time, friendly) {
    if (friendly) {
      return dayjs(time).fromNow().replace(' ', '');
    }
    return dayjs(new Date(time)).format('YYYY-MM-DD HH:mm');
  },
  goMsgDetails(e) {
    var {
      item
    } = getApp().utils.getParameter(e);
    wx.navigateTo({
      url: '/pages/messageDetail/messageDetail?id=' + item.linkId,
    })
  },
  // 请求-沟通列表
  async getRequestLinkList() {
    var that = this;
    let formData = {
      "current": 1,
      "size": 10
    }
    let res = await getApp().http.requestLinkList(formData);
    if (res.errorCode === 200) {
      let list = [];
      res.data.forEach(items => {
        items.time = that.getLastTimeStr(items.createTime, true);
        console.log(items.time);
        list.push(items);
      })
      this.setData({
        list1: list,
      })
    } else {
      wx.showModal({
        content: res.errorMessage,
        showCancel: false,
      })
    }
  },
  onChange(e) {
    let key = e.detail.current != undefined ? e.detail.current : e.currentTarget.dataset.key;
    if (key === this.data.active) return;
    this.setData({
      active: Number(key),
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {},
  setOpenId(e) {
    let {
      msgid,
      index
    } = getApp().utils.getParameter(e);
    this.setData({
      open: this.data.open.includes(msgid) ? [] : [msgid],
    });
    this.msgRead(index);
  },
  msgRead(index, msgRead) {
    var item = this.data.list[index];
    if (item?.msgStatus === 0) {
      this.setData({
        ['list[' + index + '].msgStatus']: 1,
      })
      getApp().http.msgRead({
        msgId: item.msgId
      });
    } else {

    }
  },
  async getData() {
    let res = await getApp().http.msgList(this.data.formData);
    if (res.errorCode === 200) {
      this.setData({
        list: res.data.map(item => {
          item.newMsgContent = item.msgContent.slice(0, 45) + "...";
          item.showUnfold = item.msgContent.length > 45;
          return item;
        })
      })
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 请求系统通知数据 
    this.getData();
    // 请求沟通请求数据
    this.getRequestLinkList();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})